<?php 
    include_once(SITE_ROOT."/includes/db.inc.php");
    
    class OrderDAL{
        
        function getAllOrder(){
            $cmd = "select * from orders";
            
            $result = mysql_query($cmd);
            
            if($result != false)
            {
                if(mysql_num_rows($result) > 0)
                {
                    while($row = mysql_fetch_assoc($result))
                    {
                        $orderList[] = $row;
                    }
                    return $orderList;
                }
                else
                {
                    return null;
                }    
            }
        }
        
        //Lấy thông tin chi tiết về đơn hàng có id là $orderId
        function getOrderDetail($orderId)
        {
            $orderdetail = "select * from orders o,orderdetail od,books b where od.OrderId = " . $orderId . " and o.OrderID = " . $orderId . " and od.ProductId = b.BookId";
            
            $result = mysql_query($orderdetail);
            
            if($result != false)
            {
                if(mysql_num_rows($result) > 0)
                {
                    while($row = mysql_fetch_assoc($result))
                    {
                        $orderDetailList[] = $row;
                    }
                    return $orderDetailList;
                }
                else
                {
                    return null;
                }   
            }
        }
        
        
        //Delete đơn hàng có id được chỉ định
        function deleteOrder($orderId)
        {
            $cmd = "delete from orders where OrderID = " . $orderId;
            $result = mysql_query($cmd);
            if($result)
            {
                $cmd = "delete from orderdetail where OrderId = " . $orderId;
                return mysql_query($cmd);
            }
            else
            {
                return false;
            }  
        }
        
        //Delete các đơn hàng có id nằm trong mảng truyền vào
        function deleteOrders($orderId_array)
        {
            $count = count($orderId_array);
            foreach($orderId_array as $orderId)
            {
                if(!$this->deleteOrder($orderId))
                {
                    $count--;
                };                    
            }  
            return $count;                     
        }   
        
        function insertOrder($arr_args){
            $username = $arr_args['username'];
            $payment = $arr_args['payment'];
            $email = $arr_args['email'];
            $fullname = $arr_args['fullname'];
            $address = $arr_args['address'];
            $phone = $arr_args['phone'];
            $date = $arr_args['date'];
            $total = $arr_args['total'];
            $sql = "insert into orders(OrderDate,Username,Fullname,Address,Phone,Email,Total,Payment) values('".$date."','".$username."', '".$fullname."','".$address ."', '".$phone."','".$email."',". $total.",'".$payment ."')";
            $result = mysql_query($sql);
            if($result!=false){
                $orderId = mysql_insert_id();
                foreach($arr_args['books'] as $b){
                    $sql = "insert into orderdetail(OrderId,ProductId,Quantity) VALUES(".$orderId.", ".$b['BookId'].", ".$b['quantity'].")";
                    $res = mysql_query($sql);
                    if($res!=false){
                        $message='Đơn đặt hàng của bạn đã được gửi.<br /> Cửa hàng sẽ liên lạc với bạn trong vòng 24h để chuyển hàng và thanh toán. <br/>
                                        Bạn có thể liên hệ với cửa hàng qua số điện thoại 19000091 để được tư vấn.';
                    }
                    else{
                        $sql ="delete from order where OrderID = ".$orderId;
                        $message='Có lỗi xảy ra. Đặt hàng thất bại! <br/ > Xin vui lòng thử lại';
                    }
                }
            }else{
                $message='Có lỗi xảy ra. Đặt hàng thất bại! <br/ > Xin vui lòng thử lại';
            }
            return $message;
        }
    }


?>